#include "Edge.h"
Edge::Edge(int id, Vertex& v1, Vertex& v2)
{
    this->id=id;
    this->v1=&v1;
    this->v2=&v2;
}
bool Edge::operator== (const Edge & other) const
{
    return ((v1==other.v1 && v2==other.v2)||(v1==other.v2 && v2==other.v1));
}
std::ostream& operator<< (std::ostream &out,Edge &e)
{
    out<<"E("<<e.id<<")";
    /*
    out<<"E("<<*(e.v1)<<","<<*(e.v2)<<")";
    if (!e.SteinerPoints.empty())
    {
        out<<"[";
        for (std::vector<Vertex *>::iterator it=e.SteinerPoints.begin();it!=e.SteinerPoints.end();++it)
        {
            out<<(**it)<<",";
        }
        out<<"]";
    }
    */
    return out;
}

